package cc.rengu.igas.bsps.common.dao;

import cc.rengu.igas.bsps.common.entity.InspectTaskDetail;
import cc.rengu.oltp.utility.bean.PageInfo;
import cc.rengu.oltp.utility.bean.PageResult;

import java.util.List;

/**
 * Created by zhangxuran on 2020/04/04
 * Updated by zhangxuran on 2020/04/07
 */
public interface BspsInspectTaskDetailMapper {
    /**
     * 根据商户号查询商户查询商户巡检任务信息
     *
     * @param instId  法人行号
     * @param mchntNo 商户号
     * @return 商户巡检任务详情信息
     * @throws Exception 异常
     */
    InspectTaskDetail selectBspsInspectTaskDetailByMchntNo(String instId, String mchntNo) throws Exception;

    /**
     * 更新商户巡检任务详情信息
     *
     * @param inspectTaskDetail 巡检任务详情信息
     * @return 0-成功，其它-失败
     * @throws Exception 异常
     */
    int updateBspsInspectTaskDetailByMchntNoAndTaskNo(InspectTaskDetail inspectTaskDetail) throws Exception;

    /**
     * 根据拓展经理工号查询待巡检商户统计信息
     *
     * @param instId    多法人标识
     * @param managerId 拓展经理工号
     * @return 巡检信息登记信息
     * @throws Exception 异常
     */
    List<InspectTaskDetail> selectBspsStatisInspectDetailByManagerId(String instId, String managerId, String startDate, String endDate) throws Exception;

    /**
     * 根据拓展经理工号查询巡检商户信息
     *
     * @param instId            多法人标识
     * @param inspectTaskDetail 巡检任务信息
     * @param pageInfo          分页信息
     * @return 巡检信息登记信息
     * @throws Exception 异常
     */
    PageResult selectBspsInspectDetailByManagerId(String instId, InspectTaskDetail inspectTaskDetail, PageInfo pageInfo) throws Exception;

    /**
     * 审核商户巡检任务详情信息
     *
     * @param inspectTaskDetail 巡检任务详情信息
     * @return 0-成功，其它-失败
     * @throws Exception 异常
     */
    int CheckBspsInspectTaskDetailByMchntNoAndTaskNo(InspectTaskDetail inspectTaskDetail) throws Exception;
}
